using UnityEngine;
using System.Collections.Generic;


public class RequestInfo
{
	private string m_key = "";
	
	public RequestInfo(string key)
	{
		m_key = key;
	}
	
	public string GetKey()
	{
		return m_key;
	}
};

/*
public class SpecializedRequestInfo<T> : RequestInfo
{
	protected T m_data;
	public SpecializedRequestInfo(string key, T data)
		: base(key)
	{
		m_data = data;
	}
	
	public T GetRequestData()
	{
		return m_data;
	}
};


public class CollectinRequestInfo : SpecializedRequestInfo<string[]>
{
	public CollectinRequestInfo(string key, params string[] data)
		: base(key, data)
	{
	}
};*/

public class LocaleAndCollectinRequestInfo : RequestInfo
{
	string   m_locale;
	string[] m_collectionKeys;
	public LocaleAndCollectinRequestInfo(string key, string locale, params string[] collectionKeys)
		: base(key)
	{
		m_collectionKeys = collectionKeys;
		m_locale = locale;
	}
	
	public string GetLocale()
	{
		return m_locale;
	}
	
	public string[] GetCollectionKeys()
	{
		return m_collectionKeys;
	}
};

public class ServerInfoRequestInfo : RequestInfo
{
	public ServerInfoRequestInfo()
		: base("serverInfo")
	{
	}
}


public class LocalizationRequestInfo : LocaleAndCollectinRequestInfo
{
	public LocalizationRequestInfo(string local, params string[] tableKeys)
		: base("localizationStrings", local, tableKeys)
	{
	}
};
